/*
 * detail_dialog.cpp
 *
 *  Created on: 11.08.2013
 *      Author: SpirTanol
 */

#include "ui/detail_dialog.h"
#include "events/event_protocol_event.h"
#include "events/crash_protocol_event.h"
#include "events/app_protocol_event.h"

// Qt
#include <QGridLayout>
#include <QLabel>

DetailDialog::DetailDialog(const ProtocolEvent *e)
{
	setWindowTitle(trUtf8("Подробнее"));
	setWindowFlags(windowFlags() & ~Qt::WindowContextHelpButtonHint);

	QGridLayout *l = new QGridLayout(this);
	int leftRow = 0;
	int rightRow = 0;

	l->addWidget(new QLabel(e->strTime()), leftRow++, 0);
	l->addWidget(new QLabel(e->toString()), rightRow++, 1);

	if (e->type() == PET_CRASH)
	{
		const CrashProtocolEvent *ce = static_cast<const CrashProtocolEvent*>(e);

		QLabel *label = new QLabel(trUtf8("Ток в момент срабатывания защиты (А)"));
		label->setAlignment(Qt::AlignHCenter);
		l->addWidget(label, leftRow, 0, 1, 2);
		++leftRow;
		++rightRow;

		l->addWidget(new QLabel(trUtf8("Фаза A:")), leftRow++, 0);
		l->addWidget(new QLabel(QString::number(ce->cur(P_A), 'f', 1)), rightRow++, 1);
		l->addWidget(new QLabel(trUtf8("Фаза B:")), leftRow++, 0);
		l->addWidget(new QLabel(QString::number(ce->cur(P_B), 'f', 1)), rightRow++, 1);
		l->addWidget(new QLabel(trUtf8("Фаза C:")), leftRow++, 0);
		l->addWidget(new QLabel(QString::number(ce->cur(P_C), 'f', 1)), rightRow++, 1);

		label = new QLabel(trUtf8("Напряжение в момент срабатывания защиты (В)"));
		label->setAlignment(Qt::AlignHCenter);
		l->addWidget(label, leftRow, 0, 1, 2);
		++leftRow;
		++rightRow;

		l->addWidget(new QLabel(trUtf8("Фаза A:")), leftRow++, 0);
		l->addWidget(new QLabel(QString::number(ce->vol(P_A))), rightRow++, 1);
		l->addWidget(new QLabel(trUtf8("Фаза B:")), leftRow++, 0);
		l->addWidget(new QLabel(QString::number(ce->vol(P_B))), rightRow++, 1);
		l->addWidget(new QLabel(trUtf8("Фаза C:")), leftRow++, 0);
		l->addWidget(new QLabel(QString::number(ce->vol(P_C))), rightRow++, 1);
	}
}
